package com.minis.beans.factory.config;

/**
 * @Author： HTTT
 * @Date： 2024/2/28 15:57
 * @Describe：
 */
public interface SingletonBeanRegistry {
    /**
     * 注册单例 Bean
     * @param beanName
     * @param singletonObject
     */
    void registerSingleton(String beanName, Object singletonObject);

    /**
     * 获取
     * @param beanName
     * @return
     */
    Object getSingleton(String beanName);

    /**
     * 判断是否包含
     * @param beanName
     * @return
     */
    boolean containsSingleton(String beanName);

    /**
     * 获取所有的单例 Bean
     * @return
     */
    String[] getSingletonNames();
}
